1. Field of the Invention
The present invention is related to the dynamic routing of mobile agents.
2. Related Art
A mobile agent can be written as a program that executes on a set of network hosts. The agent visits the network hosts to execute parts of its program. The agent may need, for example, to access information located on a given network host or there may be some preference to execute parts of its program on various network hosts.
In the prior art, the sequence of hosts that the agent visits is statically pre-configured when an agent program is written. For example, U.S. Pat. No. 5,603,031, Feb. 11, 1997, issued entitled "System and Method for Distributed Computation Based Upon the Movement, Execution, and Interaction of Processes in a Network," by White et al., describes a method for statically pre-configuring an agent's itinerary in a destination list composed of destination objects. Each destination object has a telename and a teleaddress preassigned to specific regions of the network. A static pre-configuration of an agent's itinerary introduces a number of weaknesses. First, a pre-configured program is not robust because it can fail if the location of the information or destination objects changes or if the network host becomes unavailable after the mobile agent is configured. Second, the pre-configured program is not amenable to a dynamic environment where network hosts can become unsuitable due to an increasing load. Third, the system can be difficult to manage because information or destination objects cannot be freely relocated without causing the programs that use them to fail. In "IBM Aglets WorkBench--Programming Mobile Agents in Java," by Lange et al., available on the World Wide Web at URL=http://www.trl.ibm.co.jp/aglets/whitepaper.html, Lange et al., suggest statically configuring multiple alternate network hosts. Although statically configuring multiple alternate network hosts may lessen some of the above weaknesses, it does not eliminate them.